﻿@model RBAC.Web.Models.FunctionModel
@using RBAC.Web.CustomHelpers
@using RBAC.Web.Mapper
@using RBAC.Web.Utilities
@{
    ViewBag.Title = "Add Function";
    Layout = "~/Views/Shared/_Layout.cshtml";

    string returnUrl = "";
    string DomainName = "";
    if (TempData["DomainLookupField"] == null || String.IsNullOrEmpty(TempData["DomainLookupField"].ToString()))
    {
        returnUrl = Url.Action("ListFunction", "Function");
    }
    else
    {
        DomainName = TempData["DomainLookupField"].ToString();
        returnUrl = Url.Action("EditDomain", "Domain", new { DomainName = DomainName });
    }  
																							 
}

@section Styles {
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/form.js")" type="text/javascript"></script>
    <link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/themes/base/jquery.ui.datepicker.css")" rel="stylesheet" type="text/css" />

    <script type="text/javascript">
        $(function () {
            //How to setup Datepicker
            // SetDatePicker has 4 argurement
            // controlId -> id of control
            // maxdate -> maximun Date that can be selected 
            // mindate -> minimum Date that can be selected 
            // yearrange - > range of year
            // more information see http://api.jqueryui.com/datepicker/
            //ถ้าไม่มีกำหนด maxdate, mindate, yearrange
            SetDatePicker("FreeDate");			 

            //How to setup Lookup
            // SetLookupFor has 3 argurement
            // controlId -> id of control
            // getLookupId -> hidden control's id for getlookup link
            // popLookupId -> hidden control's id for poplookup link
            SetExternalLookupFor("Function_Domain", "Function_DomainGetExternalLookup", 
"Function_DomainPopExternalLookup", 'Function_Domain|Function_DomainLookupField|DomainId');
			
            SetExternalLookupFor("Function_DomainLookup", "Function_DomainLookupGetExternalLookup", 
"Function_DomainLookupPopExternalLookup", 'Function_DomainLookup|Function_DomainLookupLookupField|DomainLookupId');
			
        });
    </script>
}

<h2>New Function</h2>


@using (Html.BeginForm("AddFunction", "Function", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.ValidationSummary(false)
    <fieldset>
        <legend>FunctionModel</legend>

        @Html.Hidden("Parent_DomainDomainName", @DomainName)

        <div class="two-column-container">


            <div class="texteditor">
                @Html.LabelFor(model => model.FuncName)
                @Html.EditorFor(model => model.FuncName)
                <input type="hidden" name="Mode" value="Add" />
            </div>


            <div class="texteditor">
                @Html.LabelFor(model => model.Description)
                @Html.EditorFor(model => model.Description)
            </div>





            @* START ถ้ามี lookup ไปหาแม่ ClildClass=True, LinkToParent=True *@
            
            @*chayawooth.puy
            <div class="texteditor">
                @Html.LabelFor(model => model.DomainId)
                @Html.TextBoxFor(model => model.DomainId, new { @readonly = "readonly", @class = "txtFillNameExternal" })

            </div>*@

            <div class="texteditor">
                @Html.LabelFor(model => model.Domain)
                @Html.ExternalLookup(model => model.DomainDomainName, "Function_Domain").For(model => model.Domain).Render(Utilities.CheckNullOrEmpty<string>(DomainName))
            </div>
            @* END ถ้ามี lookup ไปหาแม่ ClildClass=True, LinkToParent=True *@



            <div class="texteditor">
                @Html.LabelFor(model => model.FunctionStatus)
                @Html.RadioButtonForSelectList(model => model.FunctionStatus, FunctionStatusMapper.GetFunctionStatusSelectList())
            </div>




            <div class="texteditor">
                @Html.LabelFor(model => model.FunctionName)
                @Html.DropDownListWithDefaultValueFor(model => model.FunctionName, FunctionNameMapper.GetFunctionNameSelectList())
            </div>



        </div>
        <div class="bottom-menu clear">
            <input type="submit" value="Add" />
            <input id="cancel" onclick="location.href='@returnUrl    '" type="button" value="Cancel" />
        </div>
    </fieldset>
}
